package so.ifl.servcie;

import java.util.List;
import java.util.Map;

import org.springframework.transaction.annotation.Transactional;

import so.ifl.vo.CompanyVo;

/**
 *create by aaron.lu
 *create at 2011-12-19 ����10:25:18
 *<mailto> atyuan.lu@gmail.com
 **/
@Transactional
public interface CompanyService {

	/**
	 * 
	 * create by aaron.lu
	 * create at 2011-12-19 上午10:32:03
	 * <mailto:atyuan.lu@gmail.com> 
	 * @param params 
	 * @param offset 
	 * @param limit  
	 * @return
	 *
	 */
	public List<CompanyVo> queryCompanyWithParamAndPagination(Map<String, Object> params, Integer offset, Integer limit);
	
	/**
	 * ͳ�ƹ�˾����
	 * create by aaron.lu
	 * create at 2011-12-19 上午10:35:15
	 * <mailto: atyuan.lu@gmail.com>
	 * @param params
	 * @return
	 *
	 */
	public Integer countCompanyWithParam(Map<String, Object> params);
	
	/**
	 * ����˾����Ϣ
	 * create by aaron.lu
	 * create at 2011-12-19 上午10:36:48
	 * <mailto: atyuan.lu@gmail.com>
	 * @param params
	 *
	 */
	public void insertCompany(Map<String, Object> params);
	
	/**
	 * ���¹�˾����Ϣ
	 * create by aaron.lu
	 * create at 2011-12-19上午10:40:24
	 * <mailto: atyuan.lu@gmail.com>
	 * @param params
	 *
	 */
	public void updateCompany(Map<String, Object> params);
	
	/**
	 * ɾ��˾����Ϣ
	 * create by aaron.lu
	 * create at 2011-12-19 上午10:41:26
	 * <mailto: atyuan.lu@gmail.com>
	 * @param companyId
	 *
	 */
	public void deleteCompany(Integer companyId);

}
